#include "NFA.h"
#include <iostream>
bool check(const std::string& s1, const std::string& s2) {
	return s1 == s2;
}
void testPostfix() {
	std::cout << check(Regex("a|b|c").getPostfix(), "ab|c|") << std::endl;
	std::cout << check(Regex("a(b|c)*d").getPostfix(), "abc|*.d.") << std::endl;
	std::cout << check(Regex("(ab)*").getPostfix(), "ab.*") << std::endl;

}
void testConcentrateNFA() {
	NFA nfa1;
	NFA nfa2;
	for (int i = 0; i < 10; ++i) {
		nfa1.addState(i == 9);
		nfa2.addState(i == 9);
	}
	nfa1.addTransition(0, 'a', 1);
	nfa2.addTransition(0, 'b', 1);
	nfa1.concatenateNFA(&nfa2);
}
int main() {
	//testPostfix();
	testConcentrateNFA();
	return 0;
}